


Magnets

by eldrate



Category: Voltron: Legendary Defender
Genre: Anal Fingering, Anal Sex, Blow Jobs, Bottom Lance (Voltron), Butt Plugs, Couch Sex, Creampie, Established Relationship, Fluff, Fluff and Smut, Glove Kink, I Hate Tagging Porn, Light Dom/sub, M/M, Oral Fixation, Plot What Plot/Porn Without Plot, Praise Kink, Riding, Smut, Top Keith (Voltron), Topping from the Bottom, Wall Sex
Language: English
Status: Completed
Published: 2017-03-18
Updated: 2017-03-18
Packaged: 2018-10-07 00:42:05
Rating: Explicit
Warnings: No Archive Warnings Apply
Chapters: 1
Words: 3,063
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/10348488
Author URL: https://archiveofourown.org/users/eldrate/pseuds/eldrate
Summary: Lance is trying to tempt Keith, dancing in booty shorts and a t-shirt, but Keith will be damned if he gives in so easily.





	

**Author's Note:**

> this is my first time actually posting smut so i'm so sorry for this
> 
> blame my friend for all of this, this is entirely her fault and i claim no responsibility
> 
> written to magnets by disclosure ft. lorde

He can’t take it anymore. He can’t watch those swinging hips dancing to the steady beat coming from their speaker system; he can’t watch that beautifully sculpted ass staring straight at him, begging to be touched as it’s owner dances around the room, pretending to tidy up.

And he knows it’s on purpose, that Lance wants him to grab him and throw him onto the couch, take everything Keith can to him and give even more. That’s the only reason he holds out, the only reason why he lets himself grow harder and harder, watching, waiting. From his seat on the couch, his fingers twitch on his thighs, itching to reach out, to touch and to grab, to bruise his hips and pin him against something, anything. But he waits.

Lance starts growing impatient, slowing his hips to a grind. He lets his shirt ride up, bunching just above his hip, lean, hard muscle and bone showing through dotted with the fading yellows of bruises from the last time he tempted Keith. He hikes up his booty shorts, his perky ass poking out from beneath. His inner thighs shine slightly, likely already sweating.

It’s when Lance raises his hand, up, up into his hair, grabbing a fist full, pulling it with a breathy, wanton moan that Keith’s resolve snaps. He’s on Lance in an instant, pushes him towards the wall, nearly tripping him over a pile of books, but neither care. How could they when Lance is already taking off his shirt, as Keith following suit?

Lance stops just a foot before his back hits the wall, biting his lip as Keith stalks over to him. Hunger and want wash over him as he watches Lance play with the waistband of his booty shorts, teasing Keith as his thumb stretches the fabric, pulling at it and letting it snap back against his skin.

Keith buries his face into Lance’s neck, sucking and nipping at the skin there while Lance’s hands reach for his sweatpants. He pulls them down quickly, tapping Keith’s side to have Keith step out of them. Keith runs his gloved hands down his lithe frame with an intent, coming to cup the swell of Lance’s ass. He shivers, pushing back into Keith’s hands. His breath hitches, catching as Keith sucks on his pulse. He hikes a leg up around Keith’s waist squeezing him close, gripping Keith’s shoulders, nails digging into his skin.

Keith stumbles forward, pushing Lance against the wall. Lance grinds his clothed cock against Keith’s, tilting his head back, sighing. With a low growl, Keith grips Lance’s ass, pulling him up to sit on his hips. Immediately Lance wraps his other leg around him. He hikes his other up more, squeezing even harder. Lance undulates, leaning back until his shoulders hit the wall, biting his lip in a feeble attempt to hold back a moan.

Keith rolls his hips; Lance gasps, neck snapping forward as his arms wrap around Keith’s shoulders. Keith bites down on his collarbone, careful not to break any skin. Lance jerks against him, nails digging into his back, as his head falls forward, pressing their temples together. Keith feels his feet arch behind him, toes pointing, thighs squeezing tighter against his waist.

He chuckles, nosing into Lance’s neck as he moves one of his hands, palming Lance’s ass, moving to press two fingers against his hole. But Lance grabs his wrist in his hand, placing it back under his ass. Weird. Keith rolls his hips against Lance’s again, setting a steady rhythm. The friction is both perfect, and nowhere near enough. Clawing at his back, Lance writhes around him, nails damn near tearing up skin. It’s _heavenly._ He sighs against Lance’s neck, pressing a wet kiss to his throat. He feels Lance swallow under his lips, Adam’s apple bobbing as he squeezes Keith’s waist yet again.

Squeezing his ass in retaliation, Lance lets out a whine. “Either fuck me against the wall or let me down,” he breathes into Keith’s ear.

A shiver runs down Keith’s spine. It’s a brief, cooling relief to the heat that consumes his body, threatening to eat it alive. Keith licks a stripe from the hollow of Lance’s throat all the way up to his ear. Placing one more kiss to his adam’s apple, Keith shifts his weight, pulling Lance off the wall, and turns them towards the corridor down to their bedroom.

But Lance has other ideas. Fingers run through Keith’s hair, grab a handful, and forcefully pulling it back, Lance tilts his head up, smashing their lips together. He moans against Keith’s lips, breath fanning out across his face. He sucks Keith’s lower lip into his mouth, gently running his teeth over it as he lets go.

In a split second decision, Keith grabs Lance by the back of the knees, turning as he unravels his legs from around him. Lance pulls back, brows knit together. Keith sends him a quick smirk before throwing him by his legs onto the couch, almost losing his balance as Lance’s arms instinctively tighten around him.

Lance hits the couch with an _oof,_ looking up to Keith curiously. His eyes are lidded, blue irises almost completely encompassed by black. Keith moves to lay atop him, but Lance instead sits up, sliding onto the floor. Keith’s about to ask when Lance’s fingers dip into the waistband of his boxers, sliding them down inch by agonizing inch.

Keith groans as the fabric catches on his cock, but Lance still pulls the red fabric down till it springs free, nearly hitting his stomach as it bounces back up. He watches Lance’s chest rise and fall, his stomach expand and hollow out with each breath, feeling the air fan out against his cock. It twitches, wanting, _needing_ to be encompassed by the gorgeous lips just inches from them.

Lance’s eyes flick up to him, a silent question. Keith nods, placing a gloved hand into Lance’s hair, fisting the soft, brown locks. Gently, Lance directs him to sit down on the couch. Keith spreads his legs for Lance, keeping one hand in his hair while the other rests on his own soft, hairy thigh. Taking his legs by the calves, Lance throws them over his broad shoulders, wrapping an arm around one to hold it in place.

Lance takes Keith’s cock in hand, thumbing the slit and spreading precum down his shaft. Keith lays his head back, hips bucking of their own accord. He feels more than hears Lance laugh at him, but he doesn’t have it within him to care. All he cares about are the little kitten licks on his cock, the way Lance sucks on just the head before pulling off to kiss and lick his way up and down his shaft. Bringing his head back up, he sighs, falling into a groan as he meets Lance eyes, watching as his cock slowly disappears between those full lips.

He takes it all. He actually takes all of it. Keith feels the head hit the back of his throat, feels Lance start to gag only to hold it back, feels his throat work around him, his tongue tracing patterns to the underside of his cock. His fist grips Lance’s hair tighter; it’s all he has to stop himself from fucking into his mouth. Lance pulls back until just the head is in his mouth. Tears glisten in his eyes, enough that Keith is about to ask if they need to stop until Lance hollows his cheeks and drops back down, taking all of him yet again.

Keith can’t help himself. His thighs flex, abs tightening as he fucks into Lance’s mouth, fist in his hair, pushing his head down. It’s nothing short of blissful, up until he feels Lance choking around him. He pulls out, hands cupping Lance’s face in an instant. Lance sputters, coughing into his hand.

“I’m sorry,” says Keith, soothing his thumbs on Lance’s cheekbones. “Are you okay?”

Lance nods, tears falling from his eyes. Keith picks his legs up off Lance’s shoulders, placing them on either side of him. He leans forward, reaching down and grabbing Lance’s hips, and pulls him up onto his lap. Pressing a kiss to his temple, he runs a hand down his back only for Lance to buck against him, grinding his clothed cock against Keith’s.

“Let’s get these off of you, yeah?” says Keith, patting his hip.

Nodding again, Lance slides off Keith, eyes full of mirth as he hooks his thumbs on the waistband of the booty shorts. He pushes them down, only for them to catch on the swell of his ass as he oh so carefully avoids his cock. He bites his lip, eyes focused on Keith as he slowly, slowly pushes them down, as they slide inch by agonizing inch down his ass.

“Lance,” deadpans Keith.

Lance’s hands stop, his head cocking to the side. “Hmm?”

Keith lunges forward, sliding his hands into the back of those ever-tempting shorts, pushing them down his ass, only to feel something hard brush against his palm. What the fuck is that? His freezes for a moment, eyes sliding up Lance’s frame to meet his gaze; Lance locks eyes with him, face pointedly neutral.

Collecting himself, Keith pulls his shorts down, waiting for Lance to stop out of them before he allows his hand to return to his ass. He grips the soft, supple skin, pulling it up before letting it go, feeling it drop, jiggling slightly. He hears Lance laugh through his nose, before reaching back, searching for the hard object.

Lance stills as Keith finds it. It’s circular and flat, pressed snug against his hole. Lance is - fuck, Lance is wearing a butt plug. Looking back up to him, Keith gently grabs it, pulling it out a few inches before pushing it back in. Lance’s head tips back, a moan forcing it’s way through his lips. He snaps his mouth closed.

Keith chuckles. “Did you do this for me, Lance? Get yourself all ready for me?”

Lance nods furiously, jaw clenched shut. Keith pulls the toy, stopping just after the flare.

“Did you think about me? How I’d feel in you?”

Lance whimpers as Keith pushes it back in, slowly fucking Lance with it, setting a steady rhythm. Lance falls forward, arms catching himself on Keith’s shoulders. With a SMIRK, Keith wraps a hand around his cock, just enough friction to keep him satisfied, but nowhere near enough. Lance pants above him, breathy moans making their way out of his mouth.

“Lance,” snaps Keith.

“Yes, yes - _oh fuck_ \- yes! Thought,” Lance moans through clenched teeth, brows knitting together, “only ‘bout you,” says Lance, eyes fluttering shut. “But w-wasn’t enough. Wasn’t you.”

Keith hums. “Good boy.”

With that he pulls the buttplug all the way out, taking his hand off his leaking cock. “Where’s the lube?” asks Keith, placing his hands on Lance’s hips.

He looks up to Lance, to the red face and blown out eyes, to the sheen of sweat and slowly dampening hair. His eyes are glassy, mouth parted, chest heaving, and shoulders rising with each breath. They’ve barely even started and Lance was already nearing a breaking point. This… this is gonna be good. He places the plug on the coffee table in front of him.

Lance takes a deep breath, body trembling with want. He touches his forehead to Keith’s before backing out of his hold, waddling over to the side table to the right of the chair opposite them. He pulls out one of the drawers, reaches inside, shows the tube of lube to Keith, and waddles back over to the couch.

Lance flips the cap open, pouring some into his hand. He straddles Keith’s legs, taking his cock in hand, slowly stroking. Keith’s eyelids flutter, but he doesn’t dare let them shut, not with Lance’s face so close to his. He reaches out, resting a hand on Lance’s cheek, the other finding its way to Lance’s hip, gripping it tightly. Lance leans into his hand, moaning at the pressure of Keith’s grip on his hip. They both know he’ll bruise.

“Okay,” breathes Keith, tapping Lance’s side, silently asking him to shift forwards.

Lance gives him one last stroke before letting go. He raises up onto his knees, crawling the couple inches forwards. He locks eyes with Keith, lids nearly closed as he gazes down at him. Sliding his hand around Lance’s head, Keith pulls him down, pressing a slow, languid kiss to his lips, feeling more than hearing Lance moan. He groans in response, moving his hand from Lance’s hip, reaching around to grip himself at the base. Lance breaks the kiss, leaning his head down onto Keith’s collarbone, one hand latching onto his shoulder while the other is gently placed over Keith’s heart.

He slides the head against Lance’s hole, not yet pushing in, feeling it clench in anticipation. Lance whines, nails digging into his shoulder as his other balls into a fist on his chest. Laughing through his nose, Keith gives in, letting himself slip into Lance’s hole. Placing his hand back on Lance’s hip, the other sliding down to the other one, Lance slowly slides down, taking Keith inch by inch, lifting his head only to let it fall back as he lets out a guttural moan. Keith watches as Lance’s eyes slip, shut, mouth falling slack.

He grips Lance’s hips. It’s all he can do to keep himself from slamimng home. He’s tight and wet, but still opening beautifully for him. God, he looks so pretty like this. Lance’s abs clench in front of him as he grinds into Keith’s lap, hips undulating as he chases whatever pleasure he can find. It’s fucking glorious, but it’s still not enough. Keith lets him grind for a moment more before lifting him up, relishing in Lance’s stuttered moan before letting him go, dropping him back down. Breath hitching, Lance repeats the movement, sliding himself up before dropping down, grinding as he reaches the base of Keith’s cock.

“So beautiful,” says Keith. “You’re so beautiful, Lance.”

Lance pants above him, sweat gathering on his brow as he starts working his hips faster and faster. Keith bucks his hips up into him, meeting him thrust for thrust, hands helping to move Lance up and down. Lance cries out, back snapping back, arching as Keith hits his prostate. Careful to keep the angle, Keith slams into him, watching his cock disappear into Lance’s lean, slim body as he keens, begging for more and more.

Keith touches his thumb to Lance's lower lip, and Lance's mouth opens obediently. Pushing two fingers in, Lance nips at them with a grin before closing his mouth, sucking on them. He laves them with his tongue, getting them completely wet. Keith fucks his mouth with them, feeling the vibrations of Lance’s moans in his fingers. He lets Lance suck on them for just a minute before pulling them from his mouth, watching as little strings of spit snap back to the sly curve of his mouth. Keith might come just from that alone.

He watches Lance’s thighs ripple, shaking as they move his body up and down, accommodating his stuttering hips. There’s a thin sheen of sweat covering him from head to toe; Keith wants to lick up the small drops trickling down his neck, pooling in the indent of his collarbone. That paired with the sound of skin against skin echoing throughout the room, the panting and breathy moans mixing with his own groans, and the smell of _sex_ filling his nose consumes him, drowning him.

Everything is muted but loud, too close but not close enough. It drives him crazy — he wants more, but doesn’t think he can take more, doesn’t think _Lance_ can take more. His heart is pounding in his chest, filled and sated just by the sheer sight of Lance, but his body needs more. He curses under his breath, dragging his hand back up Lance’s body. He pulls Lance back down by the back of his neck, sealing their mouths together.

Lance moans against him. Keith swipes his tongue against his lips; mouth parting, Lance greets his tongue as it delves into his mouth, prodding it with his own while Keith traces his teeth. He groans, the sound lost in Lance’s mouth. The fist on his chest, climbs up, up his neck, cupping his cheek as Lance tilts his head, deepening the kiss even more. They groan together, harshly exhaling as Keith slows his thrusting and Lance resumes a slow, circular grind.

A fire warms itself deep in his gut, slowly branching out with each tiny movement.

“Lance,” he whispers against his lips. He takes Lance’s cock in hand, stroking slowly, thumbing the head as he smears beading, dripping precum down his cock. Lance gasps, bucking into his hand, clenching around Keith’s cock. He presses another kiss to Lance lips as a hand wraps around his own, stroking Lance faster and faster. “Come, Lance. Come for me.”

“Keith,” whimpers Lance.

“You can do it, Lance. Be a good boy, come for me.”

Lance grinds down _hard_ onto Keith, mouth opening with a silent scream as thick ropes of white spurt from his cock, landing on Keith’s sturdy chest, dripping down onto his abs. Lance clenches like a vice around his cock, as if trying to milk Keith’s orgasm from him. He bucks up into Lance, but it’s a mere few thrusts before he’s spilling inside him, cock twitching with each spurt. Lance shudders, eyes slipping closed as he sighs, shoulders drooping as his head comes to rest on Keith’s shoulder. Keith wraps his arms around his waist.

“You did so good, Lance. I’m so proud of you,” whisper Keith, voice still breathless.

Lance nuzzles his head into Keith’s neck; Keith can feel a shy smile gracing Lance’s lips, causing him to smile himself.

They stay like that for a while — Lance draped over Keith while Keith holds him close. They listen to each other’s breathing slowly calm as their heartbeats return to normal. With a sigh, Keith gently lifts Lance off of him, both of them wincing as his soft cock slips out, a trail of come following in its wake.

They stare at each other for a moment.

“Shower?” offers Keith.

“Bath,” says Lance.

“Deal.”

**Author's Note:**

> [tumblr](https://efrondeur.tumblr.com/)


End file.
